//package work.rightAnswer;
//
//class minPathSum_64 {
//    public int minPathSum(int[][] grid) {
//        int[][] dp = new int[grid.length][grid[0].length];
//        dp[0][0] = grid[0][0];
//        for (int i = 1; i < grid.length; i++) {
//            dp[i][0] = dp[i-1][0]+grid[i][0];
//        }
//
//        for (int i = 1; i < grid[0].length; i++) {
//            dp[0][i] = dp[0][i-1]+grid[0][i];
//        }
//
//        for (int i = 1; i < grid.length; i++) {
//            for (int j = 1; j < grid[0].length; j++) {
//                dp[i][j] = Math.min(dp[i-1][j],dp[i][j-1])+grid[i][j];
//            }
//        }
//
//        return dp[grid.length-1][grid[0].length-1];
//    }
//
//    //从[0,0]到[row,col]最小路径和
//    public int minPath(int[][] grid,int row,int col){
//        if(row==0&&col==0){
//            return grid[0][0];
//        }
//        if(row==0){
//            return minPath(grid,row,col-1)+grid[row][col];
//        }
//        if(col==0){
//            return minPath(grid,row-1,col)+grid[row][col];
//        }
//
//        return Math.min(minPath(grid,row-1,col),minPath(grid,row,col-1))+grid[row][col];
//    }
//}